Control program for starting a computer is stored in a non-volatile storage medium such as ROM whose capacity is large but whose access rate is low. It is a practice in related art to transfer a control program from, for example, ROM as a non-volatile storage medium to RAM as a main storage unit after system reset (initialization operation) is completed. Therefore, after a user applies power, he/she has to wait for long before using an information processor.
As described above, a main storage image is large. For reducing a starting time, therefore, it is necessary to save a capacity of a non-volatile storage medium such as ROM and for meeting such a requirement, an attempt is made to compress a main storage image (a control program for OS) and preserve the obtained image. In a compression-compatible starting system disclosed, for example, in Literature 1 (U.S. Pat. No. 6,496,882), for reducing a capacity of a non-volatile storage medium such as ROM, a main storage image necessary immediately after start-up is compressed on a logical block basis and at a first access to a certain logical block, compressed data corresponding to the logical block is read from the non-volatile storage medium, decompressed and expanded onto RAM. An address of ROM in which each compressed block is preserved is written in a management table and when reading a compressed block from ROM, read from ROM is executed by using an address obtained with reference to the management table. In this case, a memory management device in a computer system manages a physical address of a main storage memory as sections having a predetermined width.
On the other hand, an address designated by an application program, which is called a logical address, is obtained by mapping blocks of a physical address as sections with a predetermined width and translating the same such that they seem to be logically in succession, and a translation table for which is managed by an operating system (OS). Entry in a translation table which is cached by MMU (Memory Management Unit) in CPU is called TLB (Translation Look-aside Buffer).
In the above-described related art (Literature 1), however, when reading a compressed block, although the block in a non-volatile storage medium includes two or more logical blocks of data, they are separately read in each exception processing, resulting in some times causing a problem that one block of a non-volatile storage medium such as ROM which is to be accessed on a block basis is read twice or more.
In addition, because converted data to be read is preserved bridging over two blocks on the non-volatile storage medium, when expanding data of a logical block, access on a block basis might read a plurality of blocks of the non-volatile storage medium such as ROM to involve a situation where two TLB entries are used, resulting in hindering high-speed start-up.
Thus, an exemplary object of the present invention is to provide a computer system, a memory management method of a computer system and a management program thereof which enable stored program and data which are compressed and enciphered in a non-volatile storage medium such as ROM to be efficiently transferred to/expanded onto a main storage unit such as RAM, thereby reducing a starting time of the computer system even in a case where the size of a physical block to be read is changed.